<?php
/*
Plugin Name: Custom Types Testo
Plugin URI: http://www.giuseppetrisciuoglio.it
Description: Questo plugin aggiunge un custom post type Testo
Author: Giuseppe Trisciuoglio
Version: 1.0
*/

add_action('init', 'gt_crea_testi'); #[1]
function gt_crea_testi() {

    $labels = array(
        'name'               => __('Testi'),
        'singular_name'      => __('Testo'),
        'add_new'            => __('Aggiungi testo'),
        'add_new_item'       => __('Nuovo Testo'),
        'edit_item'          => __('Modifica Testo'),
        'new_item'           => __('Nuovo Testo'),
        'all_items'          => __('Elenco Testi'),
        'view_item'          => __('Visualizza Testo'),
        'search_items'       => __('Cerca Testo'),
        'not_found'          => __('Testo non trovato'),
        'not_found_in_trash' => __('Testo non trovato nel cestino'),
    );

    $args = array(
        'labels'             => $labels, # [2]
        'public'             => true,    # [3]
        'rewrite'            => array('slug' => 'testo'), # [4]
        'has_archive'        => false, # [5]
        'hierarchical'       => false, # [6]
        'menu_position'      => 5, # [7]
        'supports'           => array( # [8]
            'title',
            'editor'
        ),
    );

    register_post_type('testo', $args); #[9]
}

/*===============================================
META BOXES
*/
    add_action('add_meta_boxes', 'gt_testi_meta_boxes');
    function gt_testi_meta_boxes()
    {
        add_meta_box('gt_testi', 		#id arbitrario univoco
            __('Dettagli testo'),		#Titolo del box
            'gt_testi_box',		#Funzione da richiamare per la creazione del box
            'testo',             		#Post Type a cui applicare il box
            'side');
    }

    function gt_testi_box($post)
    {
    ?>
    <p>Aggiungi i dettagli del testo:</p>
    <p><label for="gt_testi_nome_artista"><?php _e('Nome Artista'); ?></label>
        <input type="text" id="gt_testi_nome_artista" name="gt_testi_nome_artista" class="widefat"
               value="<?php echo esc_attr(get_post_meta($post->ID, 'gt_testi_nome_artista', true)); ?>"/></p>
	<p><label for="gt_testi_id_artista"><?php _e('ID Artista'); ?></label>
        <input type="text" id="gt_testi_id_artista" name="gt_testi_id_artista" class="widefat"
               value="<?php echo esc_attr(get_post_meta($post->ID, 'gt_testi_id_artista', true)); ?>"/></p>
	<p><label for="gt_testi_video_youtube"><?php _e('Url Video Youtube'); ?></label>
        <input type="text" id="gt_testi_video_youtube" name="gt_testi_video_youtube" class="widefat"
               value="<?php echo esc_attr(get_post_meta($post->ID, 'gt_testi_video_youtube', true)); ?>"/></p>
    <?php
    }

add_action('save_post', 'gt_testi_save_details', 10, 2);
function gt_testi_save_details($post_id, $post)
{
    // Non salvare se si tratta di revisioni
    if($post->post_type === 'revision') { return; }

    if(isset($_POST['gt_testi_nome_artista'])) {
        update_post_meta($post_id, 'gt_testi_nome_artista', esc_url($_POST['gt_testi_nome_artista']));
		update_post_meta($post_id, 'gt_testi_id_artista', esc_url($_POST['gt_testi_id_artista']));
		update_post_meta($post_id, 'gt_testi_video_youtube', esc_url($_POST['gt_testi_video_youtube']));
    }
}
?>